home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1992-02-26 | 3.0 KB | 142 lines |
- '
- '********************************************
- '
- ' 3D HEX BUTTONS
- ' -----------------
- '
- ' By Malcolm Lavery 1994
- '
- '********************************************
- '
- '********************************************
- ' SET UP YE OLD SCREEN.
- '********************************************
- '
- Screen Open 0,640,256,16,Hires
- Palette $0,$FFF,,,$CCC,$EEE,$999,$333,$88F,$A00,$800,$A0,$80,$A,$8
- Curs Off : Cls 0 : Flash Off
- Limit Mouse 0,0 To 640,500
- '
- '********************************************
- ' RESERVE SOME MEMORY FOR THE BUTTONS ZONES
- ' ALTER TO HOW MANY BUTTONS YOU NEED.
- '********************************************
- '
- Reserve Zone 10
- '
- '********************************************
- ' CALL 3D DISPLAY PROCEDURE.
- '********************************************
- '
- _3D_DISPLAY[0,0,639,255,0,6]
- '
- '********************************************
- ' CALL BUTTON DRAW/SETUP PROCEDURE.
- '
- ' _3D_HEX_BUTTON[NUMBER,X,Y,IN/OUT,COLOUR]
- '
- '********************************************
- '
- '********************************************
- 'DRAW/SETUP FOUR HEX BUTTONS ONTO THE SCREEN
- '********************************************
- '
- _3D_HEX_BUTTON[1,200,50,0,6]
- _3D_HEX_BUTTON[2,264,66,0,6]
- _3D_HEX_BUTTON[3,136,66,0,6]
- _3D_HEX_BUTTON[4,200,83,0,6]
- '
- Do
- '
- '********************************************
- 'CHECK FOR MOUSE POINTER BEING CLICKED ONTO
- 'ONE OF THE FOUR BUTTONS.
- '********************************************
- '
- TEST=Mouse Zone
- TESTTWO=Mouse Click
- '
- If TESTTWO=1 and TEST=1
- _3D_HEX_BUTTON[1,200,50,1,8]
- Bell
- Wait 5
- _3D_HEX_BUTTON[1,200,50,0,6]
- End If
- '
- If TESTTWO=1 and TEST=2
- _3D_HEX_BUTTON[2,264,66,1,8]
- Bell
- Wait 5
- _3D_HEX_BUTTON[2,264,66,0,6]
- End If
- '
- If TESTTWO=1 and TEST=3
- _3D_HEX_BUTTON[3,136,66,1,8]
- Bell
- Wait 5
- _3D_HEX_BUTTON[3,136,66,0,6]
- End If
- '
- If TESTTWO=1 and TEST=4
- _3D_HEX_BUTTON[4,200,83,1,8]
- Bell
- Wait 5
- _3D_HEX_BUTTON[4,200,83,0,6]
- End If
- '
- Loop
- '
- Procedure _3D_HEX_BUTTON[_ZONENUMBER,X,Y,IN_OUT,_FILL]
- '
- If IN_OUT=0
- HILIGHT=5
- SHADOW=7
- End If
- '
- If IN_OUT=1
- HILIGHT=7
- SHADOW=5
- End If
- '
- Ink HILIGHT
- Polyline X+40,Y To X,Y To X-20,Y+15 To X,Y+30
- '
- Ink SHADOW
- Polyline X,Y+30 To X+40,Y+30 To X+60,Y+15 To X+40,Y
- '
- Ink _FILL
- Polygon X+39,Y+1 To X,Y+1 To X-18,Y+15 To X+1,Y+29 To X+39,Y+29 To X+58,Y+15 To X+39,Y
- '
- Set Zone _ZONENUMBER,X-20,Y To X+60,Y+30
- '
- End Proc
- Procedure _3D_DISPLAY[X,Y,WIDTH,HEIGHT,IN_OUT,_FILL]
- '
- '
- '
- If IN_OUT=0
- HILIGHT=5
- SHADOW=7
- End If
- '
- '
- If IN_OUT=1
- HILIGHT=7
- SHADOW=5
- End If
- '
- '
- Ink HILIGHT
- Draw X,Y To X+WIDTH,Y
- Draw X,Y To X,Y+HEIGHT
- '
- Ink SHADOW
- Draw X+WIDTH,Y To X+WIDTH,Y+HEIGHT
- Draw X+WIDTH,Y+HEIGHT To X,Y+HEIGHT
- '
- Ink _FILL
- Bar X+1,Y+1 To X+WIDTH-1,Y+HEIGHT-1
- '
- '
- '
- End Proc